// pages/mine/info/index.js

const app = getApp();
import {
  imgUpdate,
  organizational,
  // scopebusiness,
  userInfo,
  ocrPhoto,
  getHyly
} from '../../../utils/http'
// 图片压缩组件
import ImgCompress from '../../../library/wx-image-compress/img-compress.js';

Page({

  /**
   * 页面的初始数据
   */
  data: {
    v: app.globalData.v, //版本
    lang: app.vSwitch(), //版本
    theme: app.cSwitch(), //主题色
    patterns: app.globalData.patterns, //是否为游客模式

    // 时间选择器
    show: false,
    columns: [],

    // 组织架构
    zzjgshow: false,
    columns2: [],

    // 经营范围 行业领域
    // jyfwshow: false,
    // columns3: [],

    // 性别
    radio: '',

    // 上传图片
    fileList: [],

    // 兴趣爱好、经营范围 行业领域
    manageRange: [],

    // 星座
    xingzuoArr: ['白羊座', '金牛座', '双子座', '巨蟹座', '狮子座', '处女座', '天秤座', '天蝎座', '射手座', '摩羯座', '水瓶座', '双鱼座'],

    // 年份保密
    dateRadio: false,

    // 是否填写详细信息
    setDetail: false,

    isAuth: false,

    hylyshow: false,
    columns3: [],
    industryClass: ''

  },

  // 获取拍照权限
  getPhoto() {
    const _this = this
    wx.chooseImage({
      count: 1,
      sizeType: ['original', 'compressed'],
      sourceType: ['album', 'camera'],
      success (res) {
        // tempFilePath可以作为img标签的src属性显示图片
        // console.log(res)
        wx.showLoading({
          title: '加载中……',
          mask: true
        })
        wx.uploadFile({
          url: app.config.sitebase + '/circleuser/fastfile/upload/hsh-1251035051',
          filePath: res.tempFilePaths[0],
          name: 'file',
          formData: {
            'file': res.tempFilePaths[0]
          },
          success (r){
            console.log(JSON.parse(r.data).data.kpath)
            wx.hideLoading();
            ocrPhoto({file: JSON.parse(r.data).data.kpath}).then(res1 => {
              console.log(JSON.parse(res1.data).words_result)
              let data = JSON.parse(res1.data).words_result
              console.log(data.TITLE.toString())
              _this.setData({
                name: data.NAME.toString(),
                // phone: data.MOBILE.toString(),
                position: data.TITLE.toString(),
                mail: data.EMAIL.toString(),
              })
            })
            //do something
          }
        })

        // const tempFilePaths = res.tempFilePaths
      }
    })
    // const _this = this
    // wx.getSetting({
    //   success: res => {
    //     if (res.authSetting['scope.camera']) {
    //       // 用户已经授权
    //       _this.setData({
    //         isAuth: true
    //       })
    //     } else {
    //       // 用户还没有授权，向用户发起授权请求
    //       wx.authorize({
    //         scope: 'scope.camera',
    //         success() { // 用户同意授权
    //           _this.setData({
    //             isAuth: true
    //           })

    //         },
    //         fail() { // 用户不同意授权
    //           _this.openSetting().then(res => {
    //             _this.setData({
    //               isAuth: true
    //             })
    //           })
    //         }
    //       })
    //     }
    //   },
    //   fail: res => {
    //     console.log('获取用户授权信息失败')
    //   }
    // })
  },

  // 打开授权设置界面
  openSetting() {
    const _this = this
    let promise = new Promise((resolve, reject) => {
      wx.showModal({
        title: '授权',
        content: '请先授权获取摄像头权限',
        success(res) {
          if (res.confirm) {
            wx.openSetting({
              success(res) {
                if (res.authSetting['scope.camera']) { // 用户打开了授权开关
                  resolve(true)
                } else { // 用户没有打开授权开关， 继续打开设置页面
                  _this.openSetting().then(res => {
                    resolve(true)
                  })
                }
              },
              fail(res) {
                console.log(res)
              }
            })
          } else if (res.cancel) {
            _this.openSetting().then(res => {
              resolve(true)
            })
          }
        }
      })
    })
    return promise;
  },

  // 拍照
  takePhoto: function() {
    // const ctx = wx.createCameraContext()
    // ctx.takePhoto({
    //   quality: 'high',
    //   success: (res) => {
    //     console.log(res)
    //     this.setData({
    //       src: res.tempImagePath
    //     })
    //   }
    // })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    let t = this;
    t.imgCompress = new ImgCompress(this, 1000, 1000);
    if (options.type == 'youke') {
      this.setData({
        vtype: 'youke'
      })
      wx.setNavigationBarTitle({
        title: '填写报名信息',
      })
    }
    let arr = [];
    var myDate = new Date();
    var year = myDate.getFullYear();
    for (let i = 0; i < 70; i++) {
      // console.log(year - i)
      arr.push(year - i)
    }

    this.setData({
      columns: arr
    })

    app.userInfo(true).then(r => {
      if (r) {
        let manageRange = [];
        // 信息回显
        if (r.manageRange) {
          r.manageRange = r.manageRange.split(',');
          r.manageRangeName = r.manageRangeName.split(',');

          r.manageRange.forEach((i, index) => {
            manageRange.push({
              name: r.manageRangeName[index],
              id: i
            })
          })
        }
        t.setData({
          industryClass: r.industryClass,
          companyName: r.companyName,
          name: r.name,
          radio: r.sex ? r.sex + '' : '',
          date: r.birthYear,
          dateRadio: r.secret == 1 ? true : false,
          fileList: r.headPic ? [{
            url: r.headPic
          }] : [],
          zzjg: r.organizationalName,
          organizational: r.organizationalId ? {
            text: r.organizationalName,
            id: r.organizationalId
          } : null,
          mail: r.mail,
          manageRange: manageRange ? manageRange : '',
          school: r.school,
          professional: r.professional,
          position: r.position,
          constellation: r.constellation,
          setDetail: t.data.patterns ? true : (r.organizationalId ? (r.organizationalIsDetail == 2 ? false : true) : false)
        })
      }

      this.init();

    })

  },

  async init() {
    let t = this;
    await t.organizational();
    // await t.scopebusiness();
    await t.getHyly();
  },
  getHyly () {
    getHyly({current:1,size:-1}).then(res => {
      console.log(this.data.columns2)
      this.setData({
        columns3: res.data.records.map(item => {
          return {
            text: item.name,
            value: item.name
          }
        })
      })
    })
  },
  organizational() {
    let t = this;
    return new Promise((resolve, reject) => {
      organizational().then(r => {
        if (r.code == 0) {
          if (r.data.length) {
            let arr = [];
            r.data.forEach((i, index) => {
              arr.push({
                text: i.name,
                id: i.id,
                children: []
              })
              i.circleOrganizationalVoList.forEach(j => {
                arr[index].children.push({
                  text: j.name,
                  id: j.id,
                  isDetail: j.isDetail
                })
              })
            })
            t.setData({
              columns2: [{
                  values: arr, // 设置的第一列的初始值
                  className: "column1"
                },
                {
                  values: arr[0].children, // 设置第二列的初始值
                  className: "column2"
                }
              ]
            })
          }
        }
        resolve();
      })

    });

  },

  goAddPage(e) {
    if (this.data.manageRange && this.data.manageRange.length) {
      wx.setStorageSync('devMyLabel', this.data.manageRange);
    } else {
      wx.removeStorageSync('devMyLabel')
    }
    app.goPage(e.mark)
  },

  // 星座
  xingzuo() {
    this.setData({
      xingzuoFlag: true
    })
  },
  xingzuoClose() {
    this.setData({
      xingzuoFlag: false
    })
  },

  xingzuoConfirm(e) {
    this.setData({
      constellation: e.detail.value,
      xingzuoFlag: false
    });
  },
  // 保密
  dateRadioOnChange(event) {
    this.setData({
      dateRadio: event.detail,
    });
  },

  // scopebusiness() {
  //   let t = this;
  //   return new Promise((resolve, reject) => {
  //     scopebusiness().then(r => {
  //       if (r.code == 0) {
  //         if (r.data.length) {
  //           let arr = [];
  //           // r.data.forEach((i, index) => {
  //           //   arr.push({
  //           //     text: i.name,
  //           //     id: i.id,
  //           //     children: []
  //           //   })
  //           //   i.scopeVoList.forEach(j => {
  //           //     arr[index].children.push({
  //           //       text: j.name,
  //           //       id: j.id,
  //           //     })
  //           //   })
  //           // })
  //           // t.setData({
  //           //   columns3: [{
  //           //       values: arr, // 设置的第一列的初始值
  //           //       className: "column1"
  //           //     },
  //           //     {
  //           //       values: arr[0].children, // 设置第二列的初始值
  //           //       className: "column2"
  //           //     }
  //           //   ]
  //           // })
  //         }
  //       }
  //       resolve();
  //     })
  //   })
  // },


  // 性别单选
  onChange(event) {
    this.setData({
      radio: event.detail,
    });
  },


  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    let t = this;
    this.setData({
      theme: app.cSwitch(), //主题色
      patterns: app.globalData.patterns, //是否为游客模式
    })
    wx.setNavigationBarColor({
      frontColor: '#ffffff',
      backgroundColor: this.data.theme.tabbarColor,
    })
    let info = wx.getStorageSync('userInfo') ? wx.getStorageSync('userInfo') : null;
    if (info) {
      t.setData({
        phone: info.phone
      })
    }
  },

  // 图片尺寸超出提示
  // onOversize(file) {
  //   wx.showToast({
  //     title: '上传图片超过限制，建议上传500kb以下图片',
  //     icon: 'none'
  //   })
  // },
  //上传组件-删除图片
  delSlideImg(e) {
    var f_index = e.detail.index;
    var imageData = this.data.fileList;
    imageData.splice(f_index, 1);
    this.setData({
      fileList: imageData
    })
  },

  //上传组件-图片上传
  async afterRead(e) {
    //上传组件名称
    var _this = this;
    const {
      file
    } = e.detail;
    console.log(file)
    // 当设置 mutiple 为 true 时, file 为数组格式，否则为对象格式
    // for(var item of file){
    //图片大于200k开启压缩
    if (file.size > 200 * 1024) {
      /*
       * imgPath：图片路径
       * aspectRatio：图片宽高压缩比，0～1，默认0.5
       * quality：图片质量，0～1，默认0.5
       */
      await _this.imgCompress.compress(file.url, 1, 0.94).then(res => {
        console.log('压缩成功', res);
        _this.lbDoPostImg(res.compress.path);
      }).catch(e => {
        console.log('图片压缩失败', e);
        _this.lbDoPostImg(file.url);
      })
    } else {
      await _this.lbDoPostImg(file.url);
    }
    // }
    // await _this.lbDoPostImg(file.url);
  },
  lbDoPostImg(f_path) {
    var _this = this;
    imgUpdate({
      path: f_path
    }).then(res => {
      var res = JSON.parse(res);
      var data = res.data;
      //商品列表图[单图保存json格式，多图保存数组json格式]
      let arr = _this.data.fileList;
      arr.push({
        url: data.kpath
      })
      _this.setData({
        fileList: arr
      })
    })
  },



  confirm(e) {
    this.setData({
      date: e.detail.value,
      show: false
    });
  },
  openDate() {
    this.setData({
      show: true
    })
  },
  onClose() {
    this.setData({
      show: false
    })
  },

  openHyly () {
    this.setData({
      hylyshow: true
    })
  },

  // 组织架构
  confirm3(e) {
    console.log(e);
    this.setData({
      industryClass: e.detail.value.value,
      hylyshow: false
    });
  },
  onClose3() {
    this.setData({
      hylyshow: false
    })
  },
  onChange3 (e) {
    console.log(e)
  },

  // 组织架构
  confirm2(e) {
    console.log(e);
    this.setData({
      organizational: e.detail.value[1],
      zzjg: e.detail.value[0].text + ' / ' + e.detail.value[1].text,
      zzjgshow: false,
      setDetail: e.detail.value[1].isDetail == 2 ? false : true
    });
  },

  

  openZzjg() {
    this.setData({
      zzjgshow: true
    })
  },
  onClose2() {
    this.setData({
      zzjgshow: false
    })
  },
  onChange2(event) {
    let {
      picker,
      value,
      index
    } = event.detail;
    let ColumnIndex = picker.getColumnIndex(index);
    console.log(value);
    //改变第一列显示第二列的初识值
    picker.setColumnValues(index + 1, value[0].children == null ? '' : value[0].children);
  },

  // // 组织架构
  // confirm3(e) {
  //   let manageRange = this.data.manageRange ? this.data.manageRange : [];
  //   // let jyfw = this.data.jyfw ? this.data.jyfw : [];
  //   manageRange.push(e.detail.value[1]);
  //   // jyfw.push(e.detail.value[1].text);
  //   this.setData({
  //     manageRange,
  //     // jyfw,
  //     // jyfwshow: false
  //   });
  // },
  // openjyfw() {
  //   this.setData({
  //     jyfwshow: true
  //   })
  // },
  // onClose3() {
  //   this.setData({
  //     jyfwshow: false
  //   })
  // },
  onChange3(event) {
    let {
      picker,
      value,
      index
    } = event.detail;
    let ColumnIndex2 = picker.getColumnIndex(index);
    console.log(value);
    //改变第一列显示第二列的初识值
    picker.setColumnValues(index + 1, value[0].children == null ? '' : value[0].children);
  },

  // 删除经营范围 行业领域
  tagclose(e) {
    let manageRange = this.data.manageRange;
    manageRange.splice(e.mark.index, 1);
    this.setData({
      manageRange
    })
  },

  submit(e) {
    let t = this;
    console.log(e.detail.value);
    let _data = e.detail.value;
    if (!_data.name) {
      wx.showToast({
        title: '请输入姓名',
        icon: 'none'
      })
      return false;
    }
    _data.sex = t.data.radio;
    if (!_data.sex && !t.data.patterns) {
      wx.showToast({
        title: '请选择性别',
        icon: 'none'
      })
      return false;
    }
    if (!_data.position && !t.data.patterns && t.data.setDetail) {
      wx.showToast({
        title: '请输入' +  t.data.lang.a1,
        icon: 'none'
      })
      return false;
    }
    if (!t.data.setDetail) {
      _data.position = '无';
    }
    if (!t.data.patterns) {
      if (t.data.dateRadio) {
        _data.secret = 1;
        _data.birthYear = '';
      } else {
        if (!_data.birthYear) {
          wx.showToast({
            title: '请选择出生年份',
            icon: 'none'
          })
          return false;
        }
        _data.secret = 2;
      }
    }

    if (!t.data.fileList.length) {
      wx.showToast({
        title: '请上传头像',
        icon: 'none'
      })
      return false;
    }
    _data.headPic = t.data.fileList[0].url;
    if (!t.data.organizational && !t.data.patterns) {
      wx.showToast({
        title: '请选择组织架构',
        icon: 'none'
      })
      return false;
    }
    _data.organizationalId = t.data.organizational.id;

    // if ((!t.data.manageRange || !t.data.manageRange.length) && !t.data.patterns && t.data.setDetail) {
    //   wx.showToast({
    //     title: '请添加' + t.data.lang.a2,
    //     icon: 'none'
    //   })
    //   return false;
    // }
    let manageRange = [];
    t.data.manageRange.forEach(i => {
      manageRange.push(i.id);
    })
    _data.manageRange = manageRange.toString();



    var regEmail = /^[A-Za-z0-9._%-]+@([A-Za-z0-9-]+\.)+[A-Za-z]{2,4}$/;
    if (_data.mail && !t.data.patterns) {
      if (!regEmail.test(_data.mail)) {
        wx.showToast({
          title: '邮箱格式错误',
          icon: 'none'
        })
        return false;
      }
    }
    _data.industryClass = t.data.industryClass
    console.log(_data);

    userInfo(_data).then(r => {
      if (r.code == 0) {
        wx.showToast({
          title: '编辑成功',
          mask: true,
        })
        wx.setStorageSync('userInfo', r.data);
        app.globalData.uid = r.data.id;
        setTimeout(() => {
          let pages = getCurrentPages();
          if (pages.length > 1) {

            wx.navigateBack({
              delta: 1,
              success: function (e) {
                if (t.data.vtype == "youke") {
                  pages[pages.length - 2].baomingSubmit();
                }
              }
            })
          } else {
            wx.switchTab({
              url: '/pages/index/home',
            })
          }
        }, 1000)
      }
    })

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    return app.share();
  }
})